home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-06-15 | 1.2 KB | 49 lines | [TEXT/MPS ] |
- with indx then shrink keysArrays. *)
- UpdateCardKeys(stack^^.idKeys^,indx,totFil);
- UpdateCardKeys(stack^^.nameKeys^,indx,totFil);
-
- (* blockmove lastCard over target *)
- BlockMove(last,targ,VAL(LONGINT,stack^^.cardSize));
-
- (* remove lastCard and reduce totFil and local filledCards. *)
- RemoveLastCard(stack);
- END RemoveCard;
-
-
- PROCEDURE GetCardIndx(stack:DataStack; id:LONGCARD; name:ARRAY OF CHAR):CARDINAL;
- VAR n:CARDINAL;
- BEGIN
- dataStackErr := noErr;
- theStack := stack;
- IF id # 0 THEN
- theSearchID := id;
- n := SearchStackByID(1,stack^^.totalFilled);
- IF n = 0 THEN
- dataStackErr := notFound;
- RETURN 0;
- END;
- RETURN stack^^.idKeys^^[n];
-
- ELSIF name[0] # 0C THEN
- theSearchName := ADR(name);
- n := SearchStackByName(1,stack^^.totalFilled);
- IF n = 0 THEN
- dataStackErr := notFound;
- RETURN 0;
- END;
- RETURN stack^^.nameKeys^^[n];
- END;
- dataStackErr := notFound;
- RETURN 0;
- END GetCardIndx;
-
- PROCEDURE GetCardID(stack:DataStack; indx:CARDINAL; name:ARRAY OF CHAR):LONGCARD;
- VAR header :HeadPtr;
- BEGIN
- dataStackErr := noErr;
- IF indx = 0 THEN
- indx := GetCardIndx(stack,0,name);
- IF indx = 0 THEN RETURN 0; END;
- END;
- header := GetHeaderAddr(stack,indx);
- IF